리μμ€ μλΉ κ΄λ¦¬λ₯Ό μν React ν μμ± λ° μ¬μ©μ λν μ¬μΈ΅ λΆμμ ν΅ν΄ μ±λ₯μ ν₯μνκ³ μ¬μ©μ κ²½νμ κ°μ ν©λλ€. λͺ¨λ² μ¬λ‘, μ΅μ ν κΈ°μ λ° μ€μ μ¬λ‘λ₯Ό μ΄ν΄λ³΄μΈμ.
React 리μμ€ μλΉ ν : μ±λ₯ λ° μ¬μ©μ κ²½ν μ΅μ ν
νλ μΉ κ°λ°, νΉν Reactμ κ°μ νλ μμν¬λ₯Ό μ¬μ©νμ¬ κ΅¬μΆλ λ¨μΌ νμ΄μ§ μ ν리μΌμ΄μ μμλ 리μμ€ μλΉ κ΄λ¦¬κ° κ°μ₯ μ€μν©λλ€. μ΅μ νλμ§ μμ μ ν리μΌμ΄μ μ λλ¦° μ±λ₯, μ νλ μ¬μ©μ κ²½ν, μ¬μ§μ΄ μμ€ν λΆμμ μΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€. μ΄ κΈμ 리μμ€ μλΉλ₯Ό ν¨κ³Όμ μΌλ‘ κ΄λ¦¬νκΈ° μν React ν μ μμ±νκ³ νμ©νλ λ°©λ²μ λν ν¬κ΄μ μΈ κ°μ΄λλ₯Ό μ 곡νλ©°, κΆκ·Ήμ μΌλ‘ λ μννκ³ λ°μμ±μ΄ λ°μ΄λ μ ν리μΌμ΄μ μ λ§λλ λ° κΈ°μ¬ν©λλ€.
React μ ν리μΌμ΄μ μ 리μμ€ μλΉ μ΄ν΄
React μ ν리μΌμ΄μ μ λ€λ₯Έ μννΈμ¨μ΄μ λ§μ°¬κ°μ§λ‘ λ€μκ³Ό κ°μ λ€μν μμ€ν 리μμ€μ μμ‘΄ν©λλ€.
- CPU (μ€μ μ²λ¦¬ μ₯μΉ): JavaScript μ½λλ₯Ό μ€ννκ³ , μ»΄ν¬λνΈλ₯Ό λ λλ§νλ©°, μ¬μ©μ μνΈμμ©μ μ²λ¦¬νλ λ° νμν μ²λ¦¬ λ₯λ ₯μ λλ€. κ³Όλν CPU μ¬μ©λμ λ λλ§ μλ μ ν λ° UI λ°μ λΆλ₯μΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€.
- λ©λͺ¨λ¦¬ (RAM): μ ν리μΌμ΄μ μ μμ 곡κ°μ λλ€. λ©λͺ¨λ¦¬ λμ λλ λΉν¨μ¨μ μΈ λ°μ΄ν° ꡬ쑰λ λ©λͺ¨λ¦¬ κ³ κ° λ° μ ν리μΌμ΄μ μΆ©λμ μ λ°ν μ μμ΅λλ€.
- λ€νΈμν¬ λμν: ν΄λΌμ΄μΈνΈμ μλ² κ°μ λ°μ΄ν°λ₯Ό μ μ‘νλ μ©λμ λλ€. λΆνμνκ±°λ ν° λ€νΈμν¬ μμ²μ μ§μ°μ μ λ°νκ³ νμ΄μ§ λ‘λ μκ°μ λ¦μΆ μ μμ΅λλ€.
- GPU (κ·Έλν½ μ²λ¦¬ μ₯μΉ): 볡μ‘ν μκ° ν¨κ³Ό λ° μ λλ©μ΄μ λ λλ§μ μ¬μ©λ©λλ€. λΉν¨μ¨μ μΈ λ λλ§μ GPUμ λΆλ΄μ μ£Όμ΄ νλ μ μλ μ νλ‘ μ΄μ΄μ§ μ μμ΅λλ€.
μλͺ» μ΅μ νλ React μ½λλ 리μμ€ μλΉ λ¬Έμ λ₯Ό μ νμν¬ μ μμ΅λλ€. μΌλ°μ μΈ μμΈμ λ€μκ³Ό κ°μ΅λλ€.
- λΆνμν μ¬λ λλ§: props λλ stateκ° μ€μ λ‘ λ³κ²½λμ§ μμλλ°λ μ»΄ν¬λνΈκ° λ€μ λ λλ§λλ κ²½μ°.
- λΉν¨μ¨μ μΈ λ°μ΄ν° ꡬ쑰: λ°μ΄ν°λ₯Ό μ μ₯νκ³ μ‘°μνλ λ° λΆμ μ ν λ°μ΄ν° ꡬ쑰λ₯Ό μ¬μ©νλ κ²½μ°.
- μ΅μ νλμ§ μμ μκ³ λ¦¬μ¦: 볡μ‘ν κ³μ° λλ λ°μ΄ν° μ²λ¦¬μ λΉν¨μ¨μ μΈ μκ³ λ¦¬μ¦μ μ¬μ©νλ κ²½μ°.
- ν° μ΄λ―Έμ§ λ° μμ°: ν¬κ³ μμΆλμ§ μμ μ΄λ―Έμ§ λ° κΈ°ν μμ°μ μ 곡νλ κ²½μ°.
- λ©λͺ¨λ¦¬ λμ: μ¬μ©λμ§ μλ μ»΄ν¬λνΈ λλ λ°μ΄ν°κ° μ°¨μ§νλ λ©λͺ¨λ¦¬λ₯Ό μ λλ‘ ν΄μ νμ§ λͺ»νλ κ²½μ°.
리μμ€ μλΉ ν μ μ¬μ©νλ μ΄μ ?
리μμ€ μλΉ ν μ React μ ν리μΌμ΄μ λ΄μμ 리μμ€ μ¬μ©λμ λͺ¨λν°λ§νκ³ κ΄λ¦¬νκΈ° μν μ€μ μ§μ€μμ μ¬μ¬μ© κ°λ₯ν λ©μ»€λμ¦μ μ 곡ν©λλ€. μ΄μ μ λ€μκ³Ό κ°μ΅λλ€.- μ€μ μ§μ€μ λͺ¨λν°λ§: CPU, λ©λͺ¨λ¦¬, λ€νΈμν¬ μ¬μ©λμ μΆμ νλ λ¨μΌ μ§μ μ μ 곡ν©λλ€.
- μ±λ₯ λ³λͺ© νμ μλ³: μ ν리μΌμ΄μ μμ κ³Όλν 리μμ€λ₯Ό μλΉνλ μμμ μλ³νλ λ° λμμ΄ λ©λλ€.
- μ μ μ μ΅μ ν: μ±λ₯ λ¬Έμ κ° μ¬κ°ν΄μ§κΈ° μ μ κ°λ°μκ° μ½λμ μμ°μ μ΅μ νν μ μλλ‘ ν©λλ€.
- ν₯μλ μ¬μ©μ κ²½ν: λ λΉ λ₯Έ λ λλ§, μνν μνΈμμ© λ° λ λ°μμ μΈ μ ν리μΌμ΄μ μΌλ‘ μ΄μ΄μ§λλ€.
- μ½λ μ¬μ¬μ©μ±: ν μ μ¬λ¬ μ»΄ν¬λνΈμμ μ¬μ¬μ©λ μ μμ΄ μΌκ΄μ±μ μ΄μ§νκ³ μ½λ μ€λ³΅μ μ€μ λλ€.
React 리μμ€ μλΉ ν ꡬμΆνκΈ°
CPU μ¬μ©λμ λͺ¨λν°λ§νκ³ μ»΄ν¬λνΈ μ±λ₯μ λν ν΅μ°°λ ₯μ μ 곡νλ κΈ°λ³Έ React ν μ λ§λ€μ΄ λ³΄κ² μ΅λλ€.
κΈ°λ³Έ CPU μ¬μ©λ λͺ¨λν°λ§
λ€μ μμ λ performance API(λλΆλΆμ μ΅μ λΈλΌμ°μ μμ μ¬μ© κ°λ₯)λ₯Ό μ¬μ©νμ¬ CPU μκ°μ μΈ‘μ ν©λλ€.
μ€λͺ :
useCpuUsageν μuseStateλ₯Ό μ¬μ©νμ¬ νμ¬ CPU μ¬μ©λ₯ μ μ μ₯ν©λλ€.useRefλ μκ° μ°¨μ΄λ₯Ό κ³μ°νκΈ° μν μ΄μ νμμ€ν¬νλ₯Ό μ μ₯νλ λ° μ¬μ©λ©λλ€.useEffectλ λ§€μ΄ μ€νλλ μΈν°λ²μ μ€μ ν©λλ€.- μΈν°λ² λ΄λΆμμ
performance.now()λ νμ¬ νμμ€ν¬νλ₯Ό κ°μ Έμ€λ λ° μ¬μ©λ©λλ€. - CPU μ¬μ©λμ μΈν°λ² λ΄μμ CPU μμ μ μλΉλ μκ°μ λ°±λΆμ¨λ‘ κ³μ°λ©λλ€.
setCpuUsageν¨μλ μ CPU μ¬μ©λ κ°μΌλ‘ μνλ₯Ό μ λ°μ΄νΈν©λλ€.clearIntervalν¨μλ μ»΄ν¬λνΈκ° μΈλ§μ΄νΈλ λ μΈν°λ²μ μ§μ λ©λͺ¨λ¦¬ λμλ₯Ό λ°©μ§νλ λ° μ¬μ©λ©λλ€.
μ€μ μ¬ν:
- μ΄κ²μ λ¨μνλ μμ μ λλ€. λΈλΌμ°μ μ΅μ ν λ° λ³΄μ μ νμΌλ‘ μΈν΄ λΈλΌμ°μ νκ²½μμ CPU μ¬μ©λμ μ ννκ² μΈ‘μ νλ κ²μ 볡μ‘ν©λλ€.
- μ€μ μλ리μ€μμλ μλ―Έ μλ CPU μ¬μ©λ κ°μ μ»κΈ° μν΄ νΉμ μμ λλ μ»΄ν¬λνΈμ μν΄ μλΉλ μκ°μ μΈ‘μ ν΄μΌ ν©λλ€.
performanceAPIλ JavaScript μ€ν μκ°, λ λλ§ μκ°, κ°λΉμ§ 컬λ μ μκ°κ³Ό κ°μ λ μμΈν λ©νΈλ¦μ μ 곡νλ©°, μ΄λ₯Ό μ¬μ©νμ¬ λ μ κ΅ν 리μμ€ μλΉ ν μ λ§λ€ μ μμ΅λλ€.
λ©λͺ¨λ¦¬ μ¬μ©λ λͺ¨λν°λ§μΌλ‘ ν ν₯μ
performance.memory APIλ λΈλΌμ°μ μ λ©λͺ¨λ¦¬ μ¬μ©λμ λͺ¨λν°λ§ν μ μλλ‘ ν©λλ€. μ΄ APIλ μΌλΆ λΈλΌμ°μ μμ μ¬μ© μ€λ¨λμμΌλ©°, μ¬μ© κ°λ₯ μ¬λΆκ° λ€λ₯Ό μ μμ΅λλ€. κ΄λ²μν λΈλΌμ°μ μ§μμ΄ νμν κ²½μ° ν΄λ¦¬ν λλ λ체 λ°©λ²μ κ³ λ €νμμμ€. μμ:
μ€λͺ :
- ν
μ
useStateλ₯Ό μ¬μ©νμ¬ μ¬μ©λ JS ν ν¬κΈ°, μ΄ JS ν ν¬κΈ° λ° JS ν ν¬κΈ° μ νμ ν¬ν¨νλ κ°μ²΄λ₯Ό μ μ₯ν©λλ€. useEffectλ΄λΆμμperformance.memoryμ¬μ© κ°λ₯ μ¬λΆλ₯Ό νμΈν©λλ€.- μ¬μ© κ°λ₯ν κ²½μ° λ©λͺ¨λ¦¬ μ¬μ©λ λ©νΈλ¦μ κ²μνκ³ μνλ₯Ό μ λ°μ΄νΈν©λλ€.
- μ¬μ©ν μ μλ κ²½μ° μ½μμ κ²½κ³ λ₯Ό κΈ°λ‘ν©λλ€.
CPU λ° λ©λͺ¨λ¦¬ λͺ¨λν°λ§ κ²°ν©
νΈμλ₯Ό μν΄ CPU λ° λ©λͺ¨λ¦¬ λͺ¨λν°λ§ λ‘μ§μ λ¨μΌ ν μΌλ‘ κ²°ν©ν μ μμ΅λλ€.
```javascript import { useState, useEffect, useRef } from 'react'; function useResourceUsage() { const [cpuUsage, setCpuUsage] = useState(0); const [memoryUsage, setMemoryUsage] = useState({ usedJSHeapSize: 0, totalJSHeapSize: 0, jsHeapSizeLimit: 0, }); const previousTimeRef = useRef(performance.now()); useEffect(() => { const intervalId = setInterval(() => { // CPU Usage const currentTime = performance.now(); const timeDiff = currentTime - previousTimeRef.current; const cpuTime = performance.now() - currentTime; // Replace with actual CPU time measurement const newCpuUsage = (cpuTime / timeDiff) * 100; setCpuUsage(newCpuUsage); previousTimeRef.current = currentTime; // Memory Usage if (performance.memory) { setMemoryUsage({ usedJSHeapSize: performance.memory.usedJSHeapSize, totalJSHeapSize: performance.memory.totalJSHeapSize, jsHeapSizeLimit: performance.memory.jsHeapSizeLimit, }); } else { console.warn("performance.memory is not supported in this browser."); } }, 1000); return () => clearInterval(intervalId); }, []); return { cpuUsage, memoryUsage }; } export default useResourceUsage; ```React μ»΄ν¬λνΈμμ 리μμ€ μλΉ ν μ¬μ©νκΈ°
React μ»΄ν¬λνΈμμ useResourceUsage ν
μ μ¬μ©νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
CPU Usage: {cpuUsage.toFixed(2)}%
Memory Used: {memoryUsage.usedJSHeapSize} bytes
Memory Total: {memoryUsage.totalJSHeapSize} bytes
Memory Limit: {memoryUsage.jsHeapSizeLimit} bytes
μ΄ μ»΄ν¬λνΈλ νμ¬ CPU λ° λ©λͺ¨λ¦¬ μ¬μ©λ κ°μ νμν©λλ€. μ΄ μ 보λ₯Ό μ¬μ©νμ¬ μ»΄ν¬λνΈμ μ±λ₯μ λͺ¨λν°λ§νκ³ μ μ¬μ μΈ λ³λͺ© νμμ μλ³ν μ μμ΅λλ€.
κ³ κΈ λ¦¬μμ€ μλΉ κ΄λ¦¬ κΈ°μ
κΈ°λ³Έ λͺ¨λν°λ§ μΈμλ 리μμ€ μλΉ ν μ κ³ κΈ μ±λ₯ μ΅μ ν κΈ°μ μ ꡬννλ λ° μ¬μ©λ μ μμ΅λλ€.
1. λλ°μ΄μ±(Debouncing) λ° μ€λ‘νλ§(Throttling)
λλ°μ΄μ±κ³Ό μ€λ‘νλ§μ ν¨μ μ€ν λΉλλ₯Ό μ ννλ λ° μ¬μ©λλ κΈ°μ μ λλ€. μ΄λ ν¬κΈ° μ‘°μ μ΄λ²€νΈ λλ μ λ ₯ λ³κ²½κ³Ό κ°μ΄ μμ£Ό λ°μνλ μ΄λ²€νΈλ₯Ό μ²λ¦¬νλ λ° μ μ©ν μ μμ΅λλ€. μμ(λλ°μ΄μ±):
```javascript import { useState, useEffect } from 'react'; function useDebounce(value, delay) { const [debouncedValue, setDebouncedValue] = useState(value); useEffect( () => { const handler = setTimeout(() => { setDebouncedValue(value); }, delay); return () => { clearTimeout(handler); }; }, [value, delay] // Only re-call effect if value or delay changes ); return debouncedValue; } export default useDebounce; ```μ¬μ© μ¬λ‘μλ μ¬μ©μκ° μ§§μ μκ° λμ νμ΄νμ λ©μΆ νμμΌ κ²μ μΏΌλ¦¬κ° μ μ‘λλ 미리 μ λ ₯ κ²μ(type-ahead search)μ΄ ν¬ν¨λ©λλ€.
2. κ°μν(Virtualization)
κ°μν(λλ μλμ(windowing))λ ν° λͺ©λ‘μ΄λ 그리λμμ 보μ΄λ λΆλΆλ§ λ λλ§νλ λ° μ¬μ©λλ κΈ°μ μ
λλ€. μ΄λ λλμ λ°μ΄ν° μΈνΈλ₯Ό λ€λ£° λ μ±λ₯μ ν¬κ² ν₯μμν¬ μ μμ΅λλ€. react-window λ° react-virtualizedμ κ°μ λΌμ΄λΈλ¬λ¦¬λ κ°μνλ₯Ό ꡬννλ μ»΄ν¬λνΈλ₯Ό μ 곡ν©λλ€.
μλ₯Ό λ€μ΄, 10,000κ°μ νλͺ©μΌλ‘ ꡬμ±λ λͺ©λ‘μ λͺ¨λ νλͺ©μ ν λ²μ λ λλ§νλ©΄ μλκ° λλ €μ§ μ μμ΅λλ€. κ°μνλ νμ¬ νλ©΄μ 보μ΄λ νλͺ©λ§ λ λλ§λλλ‘ νμ¬ λ λλ§ μ€λ²ν€λλ₯Ό ν¬κ² μ€μ λλ€.
3. μ§μ° λ‘λ©(Lazy Loading)
μ§μ° λ‘λ©μ μ΄λ―Έμ§λ μ»΄ν¬λνΈμ κ°μ 리μμ€λ₯Ό νμν λλ§ λ‘λνλ λ° μ¬μ©λλ κΈ°μ μ
λλ€. μ΄λ μ΄κΈ° νμ΄μ§ λ‘λ μκ°μ μ€μ΄κ³ μ ν리μΌμ΄μ
μ μ λ°μ μΈ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€. Reactμ React.lazyλ μ»΄ν¬λνΈ μ§μ° λ‘λ©μ νμ©λ μ μμ΅λλ€.
μλ₯Ό λ€μ΄, μ²μμλ νλ©΄μ 보μ΄μ§ μλ μ΄λ―Έμ§λ μ¬μ©μκ° μλλ‘ μ€ν¬λ‘€ν λ μ§μ° λ‘λλ μ μμ΅λλ€. μ΄λ κ² νλ©΄ λΆνμν μ΄λ―Έμ§λ₯Ό λ€μ΄λ‘λνλ κ²μ νΌνκ³ μ΄κΈ° νμ΄μ§ λ‘λ μλλ₯Ό λμΌ μ μμ΅λλ€.
4. λ©λͺ¨μ΄μ μ΄μ (Memoization)
λ©λͺ¨μ΄μ μ΄μ
μ λΉμ©μ΄ λ§μ΄ λλ ν¨μ νΈμΆ κ²°κ³Όλ₯Ό μΊμνκ³ , λμΌν μ
λ ₯μ΄ λ€μ λ°μν λ μΊμλ κ²°κ³Όλ₯Ό λ°ννλ μ΅μ ν κΈ°μ μ
λλ€. Reactλ κ°κ³Ό ν¨μλ₯Ό λ©λͺ¨μ΄μ μ΄μ
νκΈ° μν useMemo λ° useCallback ν
μ μ 곡ν©λλ€. μμ:
μ΄ μμ μμ processedDataλ data propμ΄ λ³κ²½λ λλ§ λ€μ κ³μ°λ©λλ€. data propμ΄ λμΌνκ² μ μ§λλ©΄ μΊμλ κ²°κ³Όκ° λ°νλμ΄ λΆνμν μ²λ¦¬λ₯Ό λ°©μ§ν©λλ€.
5. μ½λ λΆν (Code Splitting)
μ½λ λΆν μ μ ν리μΌμ΄μ μ μ½λλ₯Ό νμν λ λ‘λν μ μλ λ μμ μ²ν¬λ‘ λλλ κΈ°μ μ λλ€. μ΄λ μ΄κΈ° λ‘λ μκ°μ μ€μ΄κ³ μ ν리μΌμ΄μ μ μ λ°μ μΈ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€. Webpack λ° κΈ°ν λ²λ€λ¬λ μ½λ λΆν μ μ§μν©λλ€.
μ½λ λΆν μ ꡬννλ €λ©΄ λμ μν¬νΈλ₯Ό μ¬μ©νμ¬ μ»΄ν¬λνΈ λλ λͺ¨λμ νμν λλ§ λ‘λν΄μΌ ν©λλ€. μ΄λ μ΄κΈ° JavaScript λ²λ€ ν¬κΈ°λ₯Ό ν¬κ² μ€μ΄κ³ νμ΄μ§ λ‘λ μκ°μ ν₯μμν¬ μ μμ΅λλ€.
리μμ€ μλΉ κ΄λ¦¬λ₯Ό μν λͺ¨λ² μ¬λ‘
React μ ν리μΌμ΄μ μμ 리μμ€ μλΉλ₯Ό κ΄λ¦¬ν λ λ°λΌμΌ ν λͺ κ°μ§ λͺ¨λ² μ¬λ‘λ λ€μκ³Ό κ°μ΅λλ€.
- μ ν리μΌμ΄μ νλ‘νμΌλ§: λΈλΌμ°μ κ°λ°μ λꡬ λλ νλ‘νμΌλ§ λꡬλ₯Ό μ¬μ©νμ¬ μ±λ₯ λ³λͺ© νμμ μλ³ν©λλ€. Chrome DevTools μ±λ₯ νμ λ§€μ° μ μ©ν©λλ€.
- μ΄λ―Έμ§ λ° μμ° μ΅μ ν: μ΄λ―Έμ§ λ° κΈ°ν μμ°μ μμΆνμ¬ ν¬κΈ°λ₯Ό μ€μ λλ€. λ λμ μμΆμ μν΄ μ μ ν μ΄λ―Έμ§ νμ(μ: WebP)μ μ¬μ©ν©λλ€.
- λΆνμν μ¬λ λλ§ λ°©μ§:
React.memo,useMemoλ°useCallbackμ μ¬μ©νμ¬ props λλ stateκ° λ³κ²½λμ§ μμμ λ μ»΄ν¬λνΈκ° λ€μ λ λλ§λλ κ²μ λ°©μ§ν©λλ€. - ν¨μ¨μ μΈ λ°μ΄ν° ꡬ쑰 μ¬μ©: λ°μ΄ν°λ₯Ό μ μ₯νκ³ μ‘°μνλ λ° μ μ ν λ°μ΄ν° ꡬ쑰λ₯Ό μ νν©λλ€. μλ₯Ό λ€μ΄, λΉ λ₯Έ μ‘°νλ₯Ό μν΄ Map λλ Setμ μ¬μ©ν©λλ€.
- λν λͺ©λ‘μ κ°μν ꡬν: κ°μν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ λν λͺ©λ‘μ΄λ 그리λμμ 보μ΄λ λΆλΆλ§ λ λλ§ν©λλ€.
- 리μμ€ μ§μ° λ‘λ: μ΄λ―Έμ§ λ° κΈ°ν 리μμ€λ₯Ό νμν λλ§ λ‘λν©λλ€.
- λ©λͺ¨λ¦¬ μ¬μ©λ λͺ¨λν°λ§:
performance.memoryAPI λλ κΈ°ν λꡬλ₯Ό μ¬μ©νμ¬ λ©λͺ¨λ¦¬ μ¬μ©λμ λͺ¨λν°λ§νκ³ λ©λͺ¨λ¦¬ λμλ₯Ό μλ³ν©λλ€. - λ¦°ν° λ° μ½λ ν¬λ§·ν° μ¬μ©: μΌλ°μ μΈ μ±λ₯ λ¬Έμ λ₯Ό λ°©μ§νκΈ° μν΄ μ½λ μ€νμΌ λ° λͺ¨λ² μ¬λ‘λ₯Ό κ°μ μ μ©ν©λλ€.
- λ€μν μ₯μΉ λ° λΈλΌμ°μ μμ ν μ€νΈ: μ ν리μΌμ΄μ μ΄ λ€μν μ₯μΉ λ° λΈλΌμ°μ μμ μ μλνλμ§ νμΈν©λλ€.
- μ κΈ°μ μΈ μ½λ κ²ν λ° λ¦¬ν©ν λ§: μ£ΌκΈ°μ μΌλ‘ μ½λλ₯Ό κ²ν νκ³ λ¦¬ν©ν λ§νμ¬ μ±λ₯ λ° μ μ§λ³΄μμ±μ ν₯μμν΅λλ€.
μ€μ μ¬λ‘ λ° μ¬μ© μ¬λ‘
리μμ€ μλΉ ν μ΄ νΉν μ μ©ν μ μλ λ€μ μλ리μ€λ₯Ό κ³ λ €νμμμ€.
- μ μ μκ±°λ μΉμ¬μ΄νΈ: λκ·λͺ¨ μ ν μΉ΄νλ‘κ·Έλ₯Ό λ λλ§ν λ CPU λ° λ©λͺ¨λ¦¬ μ¬μ©λ λͺ¨λν°λ§. μ ν λͺ©λ‘μ μ±λ₯μ ν₯μμν€κΈ° μν΄ κ°μν μ¬μ©.
- μμ λ―Έλμ΄ μ ν리μΌμ΄μ : μ¬μ©μ νΌλ λ° μ΄λ―Έμ§λ₯Ό λ‘λν λ λ€νΈμν¬ μ¬μ©λ λͺ¨λν°λ§. μ΄κΈ° νμ΄μ§ λ‘λ μκ°μ κ°μ νκΈ° μν΄ μ§μ° λ‘λ© κ΅¬ν.
- λ°μ΄ν° μκ°ν λμ보λ: 볡μ‘ν μ°¨νΈ λ° κ·Έλνλ₯Ό λ λλ§ν λ CPU μ¬μ©λ λͺ¨λν°λ§. λ°μ΄ν° μ²λ¦¬ λ° λ λλ§μ μ΅μ ννκΈ° μν΄ λ©λͺ¨μ΄μ μ΄μ μ¬μ©.
- μ¨λΌμΈ κ²μ νλ«νΌ: λΆλλ¬μ΄ νλ μ μλλ₯Ό 보μ₯νκΈ° μν΄ κ²μ νλ μ΄ μ€ GPU μ¬μ©λ λͺ¨λν°λ§. λ λλ§ λ‘μ§ λ° μμ° λ‘λ© μ΅μ ν.
- μ€μκ° νμ λꡬ: νμ νΈμ§ μΈμ μ€ λ€νΈμν¬ μ¬μ©λ λ° CPU μ¬μ©λ λͺ¨λν°λ§. λ€νΈμν¬ νΈλν½μ μ€μ΄κΈ° μν΄ μ λ ₯ μ΄λ²€νΈ λλ°μ΄μ±.
κ²°λ‘
리μμ€ μλΉ κ΄λ¦¬λ κ³ μ±λ₯ React μ ν리μΌμ΄μ μ ꡬμΆνλ λ° μ€μν©λλ€. 리μμ€ μλΉ ν μ μμ±νκ³ νμ©ν¨μΌλ‘μ¨ μ ν리μΌμ΄μ μ±λ₯μ λν κ·μ€ν ν΅μ°°λ ₯μ μ»κ³ μ΅μ ν μμμ μλ³ν μ μμ΅λλ€. λλ°μ΄μ±, μ€λ‘νλ§, κ°μν, μ§μ° λ‘λ© λ° λ©λͺ¨μ΄μ μ΄μ κ³Ό κ°μ κΈ°μ μ ꡬννλ©΄ μ±λ₯μ λμ± ν₯μμν€κ³ μ¬μ©μ κ²½νμ κ°μ ν μ μμ΅λλ€. λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄κ³ 리μμ€ μ¬μ©λμ μ κΈ°μ μΌλ‘ λͺ¨λν°λ§ν¨μΌλ‘μ¨ νλ«νΌ, λΈλΌμ°μ λλ μ¬μ©μ μμΉμ κ΄κ³μμ΄ React μ ν리μΌμ΄μ μ΄ λ°μμ± μκ³ ν¨μ¨μ μ΄λ©° νμ₯ κ°λ₯νλλ‘ λ³΄μ₯ν μ μμ΅λλ€.